package com.king.juc.fivetest;

/**
 * 案例2
 * @author king
 * @date 2020/11/28 20:40
 */
public enum SingletonTwo {
    INSTANCE;

    // 问题1: 枚举单例是如何限制实例个数的
    // 答: 通过定义枚举变量限制实例个数(反编译查看, 该变量为静态成员变量)

    // 问题2: 枚举单例在创建时是否有并发问题
    // 答: 没有, 该单例为经常成员变量

    // 问题3: 枚举单例能否被反射破坏单例
    // 答: 不能

    // 问题4: 枚举单例能否被反序列化破坏单例
    // 答: 不会被破坏, enum已考虑到该情况, 无需自己实现该操作

    // 问题5: 枚举单例属于懒汉式还是饿汉式
    // 答: 饿汉式

    // 问题6: 枚举单例如果希望加入一些单例创建时的初始化逻辑该如何做
    // 答: 添加构造方法即可
}
